package com.dongdong.zhuangji.entity;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.Data;
import org.springframework.format.annotation.DateTimeFormat;

import java.io.Serializable;
import java.util.Date;

/**
 * 桩基数据实体类，对应数据库中的 pile_data 表
 */
@Data
@TableName("pile_data")
public class PileData implements Serializable {
    /**
     * 自增主键，唯一标识每条桩基数据记录
     */
    @TableId(type = IdType.AUTO)
    private Integer id;

    /**
     * 桩基号，用于标识不同的桩基
     */
    private String pileNumber;

    /**
     * 里程信息
     */
    private Double mileage;

    /**
     * 偏距信息
     */
    private Double offset;

    /**
     * 坐标 X 值
     */
    private Double coordinateX;

    /**
     * 坐标 Y 值
     */
    private Double coordinateY;

    /**
     * 桩底高程
     */
    private Double pileBottomElevation;

    /**
     * 桩顶高程
     */
    private Double pileTopElevation;

    /**
     * 桩径
     */
    private Double pileDiameter;

    /**
     * 桩长
     */
    private Double pileLength;

    /**
     * 钢筋笼长度
     */
    private Double steelCageLength;

    /**
     * 超灌长度
     */
    private Double overPouringLength;

    /**
     * 地面高程
     */
    private Double groundElevation;

    /**
     * 实际桩底高程
     */
    private Double actualPileBottomElevation;

    /**
     * 开挖时间
     */
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date excavationTime;

    /**
     * 开孔时间
     */
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date holeOpeningTime;

    /**
     * 成孔时间
     */
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date holeCompletionTime;

    /**
     * 下钢筋笼时间
     */
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date reinforcementCageLoweringTime;

    /**
     * 下导管时间
     */
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date conduitLoweringTime;

    /**
     * 浇筑时间
     */
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date pouringTime;

    /**
     * 试块编号
     */
    private String testBlockNumber;
    /**
     * 实际浇筑方量
     */
    private Double actualPouringVolume;
    /**
     * 岩土交界高程
     */
    private Double elevationBetweenRockAndSoil;
    /**
     * 护筒标高
     */
    private Double elevationCasingPipe;
    /**
     * 天气
     */
    private String weather;
    /**
     *实测钢筋笼长度
     */
    private Double actualSteelCageLength;
    /**
     * 钢筋笼验收时间
     */
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date timeForReinforcementCageAcceptance;
    /**
     * 成孔验收时间
     */
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date timeForHoleFormationAcceptance;
}